package main

//写文件操作
/*
	write接口
		流程:
			1.打开文件
			2.写数据
			3.关闭文件
*/
import (
	// "bufio"
	"fmt"
	"io/ioutil"
	// "os"
)

// 打开文件写内容
// 第一种写方法
// func main() {
// 	fileObj,err:=os.OpenFile("./xx.txt",os.O_WRONLY|os.O_APPEND|os.O_CREATE,0644)  os.O_APPEND代表从文件末尾写数据，不会覆盖掉之前的文件数据
// 	if err != nil {
// 		fmt.Printf("Error opening file: %v\n", err)
// 		return
// 	}
// 	fileObj.Write([]byte("周琳懵逼\n"))
// 	fileObj.WriteString("周琳解释不了")
// 	fileObj.Close()
// }
// 第二种写方法  bufio写文件
// func main(){
// 	file,err:=os.OpenFile("./xx,txt",os.O_CREATE|os.O_TRUNC|os.O_WRONLY,0777)
// 	if err != nil {
// 		fmt.Println("Error opening file: ", err)
// 		return
// 	}
// 	// 记得关闭打开的文件
// 	defer file.Close()
// 	// 创建一个写对象
// 	writer:=bufio.NewWriter(file)
// 	for i:=0; i<10; {
// 		writer.WriteString("hello 北京\n")  //将数据先写到缓存中
// 		i++
// 	}
// 	writer.Flush() //将缓存中的内容写入文件中
// }
// 第三种方法 ioutil.WriteFile
func writerDemo() {
	str := "hello 通州"
	err := ioutil.WriteFile("./xx.txt", []byte(str), 0777)
	if err != nil {
		fmt.Printf("Error opening file %v\n", err)
		return
	}
}
func main() {
	writerDemo()
}
